<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
	// * await右侧的表达式一般为promise对象, 但也可以是其它的值
	// * 如果表达式是promise对象, await返回的是promise成功的值
	// * 如果表达式是其它值, 直接将此值作为await的返回值
	{
		// 1- await 右侧如果是一个非Promise实例，将右侧内容直接作为表达式的结果
        // 2- await 右侧如果是一个Promise实例，那么表达式的结果为Promise的成功值
        // 3- await 右侧如果是一个失败Promise实例，那么会抛出异常,异常的值为失败值。
		// async function fn(){
		// 	// const a = await 1;
		// 	// const a = await Promise.resolve(100);
        //     try{
		// 		const a = await Promise.reject(200);
        //     }catch (err){
		// 		console.log(err);// 200
        //     }
        // }
		// console.log(fn());// fulfilled undefined
    }
	{
		async function fn(){
			console.log(1);
			const a = await new Promise(resolve=>resolve(200));
			console.log(a);
        }
		fn();
		console.log(2);
    }
</script>

</html>